package org.yoki.edu.bg.radius.application.server;

import org.yoki.edu.bg.radius.core.server.domain.Server;
import org.yoki.edu.bg.radius.vo.server.ServerVO;
import com.yunzhitx.cloud.common.model.PageResult;
import org.springframework.transaction.annotation.Transactional;

import javax.inject.Named;
import java.util.List;


/**
 * 代码生成器自动生成
 * Date:2018-1-31 15:03:17
 *
 * @author
 */
@Named
@Transactional
public class ServerApplication {

    /* ************************************************************************************ *
       ***************************************  增  ***************************************
    * ************************************************************************************* */

    /**
     * 根据Id，更新Server
     *
     * @param entity
     * @return
     */
    public ServerVO create(Server entity) {
        entity.save();
        ServerVO vo = new ServerVO();
        vo.setId(entity.getId());
        return vo;
    }

    /* ******************************************************************************* *
                                            删
     * ******************************************************************************* */

    public void deleteById(Integer id) {
        Server.deleteById(id);
    }

    public void deleteByIds(List<Integer> ids) {
        if (null != ids) {
            for (Integer id : ids) {
                Server.deleteById(id);
            }
        }
    }

    public void deleteByIpAddr(String ipAddr) {
        Server.deleteByIpAddr(ipAddr);
    }

    /* ******************************************************************************* *
                                            改
     * ******************************************************************************* */

    /**
     * 根据Id，更新Server
     *
     * @param entity
     * @return
     */
    public void update(Server entity) {
        entity.update();
    }

    /* ******************************************************************************* *
                                            查
     * ******************************************************************************* */

    /**
     * 根据主键ID查询Server
     *
     * @param id
     * @return
     */
    public ServerVO retriveDetailById(int id) {
        Server entity = Server.selectDetailById(id);
        ServerVO vo = ServerVOTransform.transform(entity);
        return vo;
    }

    public PageResult<ServerVO> retrivePageByQuery(PageResult page, Server entity) {
        page = entity.selectPageByQuery(page);
        page.setPageData(ServerVOTransform.transformEntityList(page.getPageData())) ;
        return page;
    }

    public List<ServerVO> retriveList() {
        List<Server> entityList = Server.getServerRepository().selectAll();
        List<ServerVO> voList = ServerVOTransform.transformEntityList(entityList) ;
        return voList;
    }

}